home *** CD-ROM | disk | FTP | other *** search
- package com.sun.xml.tree;
-
- import java.io.IOException;
- import java.io.Writer;
- import org.w3c.dom.DOMException;
- import org.w3c.dom.Node;
- import org.w3c.dom.Text;
-
- class TextNode extends DataNode implements Text {
- public TextNode() {
- }
-
- public TextNode(String var1) {
- super(var1);
- }
-
- public TextNode(char[] var1, int var2, int var3) {
- super(var1, var2, var3);
- }
-
- public Node cloneNode(boolean var1) {
- TextNode var2 = new TextNode(super.data, 0, super.data.length);
- ((NodeBase)var2).setOwnerDocument((XmlDocument)((NodeBase)this).getOwnerDocument());
- return var2;
- }
-
- public String getNodeName() {
- return "#text";
- }
-
- public short getNodeType() {
- return 3;
- }
-
- public void joinNextText() {
- Node var1 = ((NodeBase)this).getNextSibling();
- if (var1 != null && var1.getNodeType() == 3) {
- ((NodeBase)this).getParentNode().removeChild(var1);
- char[] var3 = ((TextNode)var1).getText();
- char[] var2 = new char[super.data.length + var3.length];
- System.arraycopy(super.data, 0, var2, 0, super.data.length);
- System.arraycopy(var3, 0, var2, super.data.length, var3.length);
- super.data = var2;
- }
- }
-
- public Text splitText(int var1) throws DOMException {
- if (((NodeBase)this).isReadonly()) {
- throw new DomEx((short)7);
- } else {
- TextNode var2;
- try {
- var2 = new TextNode(super.data, var1, super.data.length - var1);
- } catch (ArrayIndexOutOfBoundsException var4) {
- throw new DomEx((short)1);
- } catch (NegativeArraySizeException var5) {
- throw new DomEx((short)1);
- }
-
- ((NodeBase)this).getParentNode().insertBefore(var2, ((NodeBase)this).getNextSibling());
- char[] var3 = new char[var1];
- System.arraycopy(super.data, 0, var3, 0, var1);
- super.data = var3;
- return var2;
- }
- }
-
- public void writeXml(XmlWriteContext var1) throws IOException {
- Writer var2 = var1.getWriter();
- int var3 = 0;
- int var4 = 0;
- if (super.data == null) {
- System.err.println("Null text data??");
- } else {
- for(; var4 < super.data.length; ++var4) {
- char var5 = super.data[var4];
- if (var5 == '<') {
- var2.write(super.data, var3, var4 - var3);
- var3 = var4 + 1;
- var2.write("<");
- } else if (var5 == '>') {
- var2.write(super.data, var3, var4 - var3);
- var3 = var4 + 1;
- var2.write(">");
- } else if (var5 == '&') {
- var2.write(super.data, var3, var4 - var3);
- var3 = var4 + 1;
- var2.write("&");
- }
- }
-
- var2.write(super.data, var3, var4 - var3);
- }
- }
- }
-